/*
 * Daniable.h
 *
 *  Created on: 16/10/2012
 *      Author: Ignacio Galvez
 */

#ifndef DANIABLE_H_
#define DANIABLE_H_
#include "Dibujable.h"
/*Clase abstracta cuyos descendientes reciben daño
 * de cualquier instancia de Clases derivadas de la
 * Clase Danino*/


class Daniable : public Dibujable {
public:
	double getPuntosDeVida() const;
	virtual void serDaniadoPorPajaroRojo() = 0;
	virtual void serDaniadoPorPajaroVerde() = 0;
	virtual void serDaniadoPorPajaroAzul() = 0;
	virtual void serDaniadoPorHuevoBlanco() = 0;
	virtual void serDaniadoPorHuevoCodorniz() = 0;
	virtual void serDaniadoPorHuevoPoche() = 0;
	virtual void serDaniadoPorHuevoReloj() = 0;
	virtual void recibirExplosionHuevoBlanco() = 0;
	virtual ~Daniable();
protected:
	Daniable(double puntosDeVida);
	void disminuirPuntosDeVida(double danio);
private:
	double puntosDeVida;
};


#endif /* DANIABLE_H_ */
